package org.news.web.domain.bo;

import org.news.web.domain.Categories;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import jakarta.validation.constraints.*;

/**
 * 栏目或类别业务对象 categories
 *
 * @author Gu Ci
 * @date 2024-03-23
 */
@Data
@AutoMapper(target = Categories.class, reverseConvertGenerate = false)
public class CategoriesBo{

    /**
     * 栏目或类别ID
     */
    @NotNull(message = "栏目或类别ID不能为空", groups = { EditGroup.class })
    private Long categoryId;

    /**
     * 头像
     */
    @NotBlank(message = "头像不能为空", groups = { AddGroup.class, EditGroup.class })
    private String profilePicture;

    /**
     * 栏目名称
     */
    @NotBlank(message = "栏目名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String categoryName;

    /**
     * 栏目描述
     */
    @NotBlank(message = "栏目描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description;

    /**
     * 父栏目ID，用于表示栏目的层级关系

     */
    @NotNull(message = "父栏目ID，用于表示栏目的层级关系 不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long parentCategoryId;

    /**
     * 用于表达是类别还是栏目
     */
    @NotNull(message = "用于表达是类别还是栏目不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;

    /**
     * 内容数量
     */
    private Long contentCount;

    /**
     * 订阅数量
     */
    private Long subscriberCount;



}
